/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.adama.dto;

import fr.adama.entite.typePerso.EtatContrat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import javax.validation.constraints.NotNull;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.springframework.format.annotation.DateTimeFormat;

/**
 *
 * @author mini-john
 */
public class ContratDTO implements Serializable {

    private Long id;

    @NotNull
    private EmployeDTO employe;

    @NotNull
    private AdherentDTO adherent;
    @NotNull
    @DateTimeFormat(pattern = "dd MM yyyy")
    private Date dateEntree;
    @NotNull
    BigDecimal salaireBase;

    private ModelePaieDTO modelPaie;

    private List<BulletinPaieDTO> bulletinPaie = new LinkedList<>();
    ;
    private EtatContrat etatContrat;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public EmployeDTO getEmploye() {
        return employe;
    }

    public void setEmploye(EmployeDTO employe) {
        this.employe = employe;
    }

    public AdherentDTO getAdherent() {
        return adherent;
    }

    public void setAdherent(AdherentDTO adherent) {
        this.adherent = adherent;
    }

    public Date getDateEntree() {
        return dateEntree;
    }

    public void setDateEntree(Date dateEntree) {
        this.dateEntree = dateEntree;
    }

    @JsonIgnore
    public List<BulletinPaieDTO> getBulletinPaie() {
        return bulletinPaie;
    }

    public void setBulletinPaie(List<BulletinPaieDTO> bulletinPaie) {
        this.bulletinPaie = bulletinPaie;
    }

    public BigDecimal getSalaireBase() {
        return salaireBase;
    }

    public void setSalaireBase(BigDecimal salaireBase) {
        this.salaireBase = salaireBase;
    }

    public EtatContrat getEtatContrat() {
        return etatContrat;
    }

    public void setEtatContrat(EtatContrat etatContrat) {
        this.etatContrat = etatContrat;
    }

    @JsonIgnore
    public ModelePaieDTO getModelPaie() {
        return modelPaie;
    }

    public void setModelPaie(ModelePaieDTO modelPaie) {
        this.modelPaie = modelPaie;
    }

}
